Java هي لغة برمجة كائنية التوجه (Object-Oriented)، متعددة المنصات، مصممة لتكون مستقلة عن النظام الأساسي (platform-independent). يمكن استخدام Java لتطوير التطبيقات المختلفة من تطبيقات الويب والهواتف إلى التطبيقات المكتبية.
Java هي لغة برمجة كائنية التوجه (Object-Oriented)، متعددة المنصات، مصممة لتكون مستقلة عن النظام الأساسي (platform-independent). يمكن استخدام Java لتطوير التطبيقات المختلفة من تطبيقات الويب والهواتف إلى التطبيقات المكتبية.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("مرحبًا بالعالم!");
}
}
// هذا تعليق
المحددات (Modifiers) هي كلمات رئيسية في Java تُستخدم لتحديد خصائص الفئات (Classes)، المتغيرات (Variables)، الأساليب (Methods)، أو المُنشئين (Constructors). تنقسم إلى نوعين رئيسيين:
public class AccessModifiersExample {
public String publicVar = "عام";
protected String protectedVar = "محمي";
String defaultVar = "افتراضي";
private String privateVar = "خاص";
public void displayAccess() {
System.out.println("Public: " + publicVar);
System.out.println("Protected: " + protectedVar);
System.out.println("Default: " + defaultVar);
System.out.println("Private: " + privateVar);
}
}
class TestAccess {
public static void main(String[] args) {
AccessModifiersExample obj = new AccessModifiersExample();
// الوصول إلى المتغيرات
System.out.println(obj.publicVar); // مسموح
System.out.println(obj.protectedVar); // مسموح (إذا كان في نفس الحزمة)
System.out.println(obj.defaultVar); // مسموح (إذا كان في نفس الحزمة)
// System.out.println(obj.privateVar); // غير مسموح - خطأ في الكود
}
}
class MethodModifiersExample {
// أسلوب ثابت
static void staticMethod() {
System.out.println("هذا أسلوب ثابت");
}
// أسلوب نهائي
final void finalMethod() {
System.out.println("هذا أسلوب نهائي");
}
// أسلوب متزامن
synchronized void synchronizedMethod() {
System.out.println("هذا أسلوب متزامن");
}
}
class TestMethods extends MethodModifiersExample {
// محاولة إعادة تعريف الأسلوب النهائي (غير مسموح)
// void finalMethod() { }
}
التصفح في Java يشير إلى عملية المرور عبر عناصر البيانات في هياكل مثل المصفوفات (Arrays)، القوائم (Lists)، المجموعات (Collections)، أو الخرائط (Maps). تُستخدم هذه العملية للوصول إلى العناصر أو تعديلها أو معالجتها.
public class ArrayTraversal {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
for (int i = 0; i < numbers.length; i++) {
System.out.println("العدد: " + numbers[i]);
}
}
}
public class ArrayTraversalForEach {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
for (int number : numbers) {
System.out.println("العدد: " + number);
}
}
}
تتضمن الأنماط المتقدمة في Java تقنيات ومفاهيم تُستخدم لإنشاء وتصميم أنظمة برمجية معقدة. هذه الأنماط تساعد في تحسين هيكل الكود وقابليته للصيانة وإعادة الاستخدام.
class Singleton {
private static Singleton instance;
private Singleton() {
// Constructor خاص
}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
public void showMessage() {
System.out.println("مرحبًا من Singleton!");
}
}
public class SingletonExample {
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
singleton.showMessage();
}
}
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("رسم دائرة");
}
}
class Square implements Shape {
public void draw() {
System.out.println("رسم مربع");
}
}
class ShapeFactory {
public static Shape getShape(String shapeType) {
if (shapeType.equalsIgnoreCase("CIRCLE")) {
return new Circle();
} else if (shapeType.equalsIgnoreCase("SQUARE")) {
return new Square();
}
return null;
}
}
public class FactoryPatternExample {
public static void main(String[] args) {
Shape circle = ShapeFactory.getShape("CIRCLE");
circle.draw();
Shape square = ShapeFactory.getShape("SQUARE");
square.draw();
}
}